// 罗马数转整数----13
// 罗马数字包含以下七种字符: I， V， X， L，C，D 和 M。
// 字符          数值
// I             1
// V             5
// X             10
// L             50
// C             100
// D             500
// M             1000
#include <stdio.h>
#include <string.h>

int romanToInt(char* s) 
{
    int len = strlen(s);
    //printf("%d\n",len);
    // while(*(s+1) != '\0')
    // s++;
    int num = 0;
    int flag = 0;
    int flag1 = 0;

    for(int i = len-1; i >= 0; i--)
    {
        if(s[i] == 'I')
        {
            flag1 = 1;//falg1代表该字符原本的值
            if(flag > flag1)//判断flag是否比flag1大，也即判断前一位是否比这一位小，小就减，大就加
            {
                flag = -flag1;//flag保存的是上一位的值
            }
            else
            {
                flag = flag1;
            }
        }

        else if(s[i] == 'V' )
        {
            flag1 = 5;
            if(flag > flag1)
            {
                flag = -flag1;
            }
            else
            {
                flag = flag1;
            }
        }
       
        
        else if(s[i] == 'X' )
        {
            flag1 = 10;
            if(flag > flag1)
            {
                flag = -flag1;
            }
            else
            {
                flag = flag1;
            }
        }
        
        else if(s[i] == 'L' )
        {
            flag1 = 50;
            if(flag > flag1)
            {
                flag = -flag1;
            }
            else
            {
                flag = flag1;
            }
        }
        

        else if(s[i] == 'C' )
        {
            flag1 = 100;
            if(flag > flag1)
            {
                flag = -flag1;
            }
            else
            {
                flag = flag1;
            }
        }
        

        else if(s[i] == 'D' )
        {
            flag1 = 500;
            if(flag > flag1)
            {
                flag = -flag1;
            }
            else
            {
                flag = flag1;
            }
        }
        

        else if(s[i] == 'M' )
        {
            flag1 = 1000;
            if(flag > flag1)
            {
                flag = -flag1;
            }
            else
            {
                flag = flag1;
            }    
        }
        num += flag;     
    }
    return num;
}

int main()
{
    char *s = "IV";//IV IX 
    //scanf("%s\n",&s);
    printf("%d\n",romanToInt(s));
    return 0;
}